// kX DSP Generated file

/*
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 */


// 10kX microcode
// Patch name: 'Phaser'

char *Phaser_copyright="Copyright (c) Russ, 2005";
// NOTE: The present DSP microcode dump is protected by the 
// license agreement bundled with the appropriate software 
// package containing this microcode,
// regardless the particular copyright notice is present in the dump.

char *Phaser_engine="kX 3538i";
char *Phaser_comment="Phaser v2.0";
char *Phaser_created="08/03/2005";
char *Phaser_guid="ab0284b2-3caf-4850-84ca-6eb772cd68a4";

char *Phaser_name="Phaser";
int Phaser_itramsize=0,Phaser_xtramsize=0;

dsp_register_info Phaser_info[]={
	{ "in_left",0x4000,0x7,0xffff,0x0 },
	{ "in_right",0x4001,0x7,0xffff,0x0 },
	{ "out_left",0x8000,0x8,0xffff,0x0 },
	{ "out_right",0x8001,0x8,0xffff,0x0 },
	{ "dry",0x8002,0x1,0xffff,0x33333333 },
	{ "wet",0x8003,0x1,0xffff,0x4ccccccc },
	{ "feedback",0x8004,0x1,0xffff,0x4ccccccc },
	{ "xfeed",0x8005,0x1,0xffff,0x40000000 },
	{ "xl1",0x8006,0x1,0xffff,0x0 },
	{ "xl2",0x8007,0x1,0xffff,0x0 },
	{ "xl3",0x8008,0x1,0xffff,0x0 },
	{ "xl4",0x8009,0x1,0xffff,0x0 },
	{ "xl5",0x800a,0x1,0xffff,0x0 },
	{ "xl6",0x800b,0x1,0xffff,0x0 },
	{ "xr1",0x800c,0x1,0xffff,0x0 },
	{ "xr2",0x800d,0x1,0xffff,0x0 },
	{ "xr3",0x800e,0x1,0xffff,0x0 },
	{ "xr4",0x800f,0x1,0xffff,0x0 },
	{ "xr5",0x8010,0x1,0xffff,0x0 },
	{ "xr6",0x8011,0x1,0xffff,0x0 },
	{ "yl1",0x8012,0x1,0xffff,0x0 },
	{ "yl2",0x8013,0x1,0xffff,0x0 },
	{ "yl3",0x8014,0x1,0xffff,0x0 },
	{ "yl4",0x8015,0x1,0xffff,0x0 },
	{ "yl5",0x8016,0x1,0xffff,0x0 },
	{ "yl6",0x8017,0x1,0xffff,0x0 },
	{ "yr1",0x8018,0x1,0xffff,0x0 },
	{ "yr2",0x8019,0x1,0xffff,0x0 },
	{ "yr3",0x801a,0x1,0xffff,0x0 },
	{ "yr4",0x801b,0x1,0xffff,0x0 },
	{ "yr5",0x801c,0x1,0xffff,0x0 },
	{ "yr6",0x801d,0x1,0xffff,0x0 },
	{ "sw_min",0x801e,0x1,0xffff,0x269a98 },
	{ "sw_max",0x801f,0x1,0xffff,0x7b884e },
	{ "sw_val",0x8020,0x1,0xffff,0x269a98 },
	{ "sw_fac",0x8021,0x1,0xffff,0xccccccc },
	{ "sw_up",0x8022,0x1,0xffff,0xccccccc },
	{ "sw_down",0x8023,0x1,0xffff,0xcccccd0 },
	{ "_ACccccccc",0x8024,0x5,0xffff,0xccccccc },
	{ "_AC1f",0x8025,0x5,0xffff,0x1f },
	{ "_ACa",0x8026,0x5,0xffff,0xa },
	{ "tmp1",0x8027,0x3,0xffff,0x0 },
	{ "tmp2",0x8028,0x3,0xffff,0x0 },
	{ "tmp3",0x8029,0x3,0xffff,0x0 },
};

dsp_code Phaser_code[]={
	{ 0x0,0x8000,0x4000,0x2040,0x2040 },
	{ 0x0,0x8001,0x4001,0x2040,0x2040 },
	{ 0x4,0x8027,0x8024,0x8020,0x2050 },
	{ 0x4,0x8028,0x8024,0x8020,0x2041 },
	{ 0xc,0x8027,0x8027,0x8025,0x2041 },
	{ 0xc,0x8028,0x8028,0x8025,0x2041 },
	{ 0x4,0x8028,0x8028,0x204e,0x2041 },
	{ 0x4,0x8027,0x8027,0x8028,0x2050 },
	{ 0xd,0x8027,0x8027,0x8025,0x2041 },
	{ 0x0,0x8028,0x8000,0x8004,0x8017 }, /* write address 1 = offset 09 */  
	{ 0x0,0x8029,0x8001,0x8004,0x801d }, /* write address 2 = offset 10 */
	{ 0x4,0x8012,0x8012,0x8028,0x2041 },
	{ 0x0,0x8012,0x2040,0x8012,0x8027 },
	{ 0x4,0x8012,0x8012,0x8006,0x2050 },
	{ 0x0,0x8006,0x8028,0x2040,0x2040 },
	{ 0x4,0x8018,0x8018,0x8029,0x2041 },
	{ 0x0,0x8018,0x2040,0x8018,0x8027 },
	{ 0x4,0x8018,0x8018,0x800c,0x2050 },
	{ 0x0,0x800c,0x8029,0x2040,0x2040 },
	{ 0x4,0x8013,0x8013,0x8012,0x2041 },
	{ 0x0,0x8013,0x2040,0x8013,0x8027 },
	{ 0x4,0x8013,0x8013,0x8007,0x2050 },
	{ 0x0,0x8007,0x8012,0x2040,0x2040 },
	{ 0x4,0x8019,0x8019,0x8018,0x2041 },
	{ 0x0,0x8019,0x2040,0x8019,0x8027 },
	{ 0x4,0x8019,0x8019,0x800d,0x2050 },
	{ 0x0,0x800d,0x8018,0x2040,0x2040 },
	{ 0x4,0x8014,0x8014,0x8013,0x2041 },
	{ 0x0,0x8014,0x2040,0x8014,0x8027 },
	{ 0x4,0x8014,0x8014,0x8008,0x2050 },
	{ 0x0,0x8008,0x8013,0x2040,0x2040 },
	{ 0x4,0x801a,0x801a,0x8019,0x2041 },
	{ 0x0,0x801a,0x2040,0x801a,0x8027 },
	{ 0x4,0x801a,0x801a,0x800e,0x2050 },
	{ 0x0,0x800e,0x8019,0x2040,0x2040 },
	{ 0x4,0x8015,0x8015,0x8014,0x2041 },
	{ 0x0,0x8015,0x2040,0x8015,0x8027 },
	{ 0x4,0x8015,0x8015,0x8009,0x2050 },
	{ 0x0,0x8009,0x8014,0x2040,0x2040 },
	{ 0x4,0x801b,0x801b,0x801a,0x2041 },
	{ 0x0,0x801b,0x2040,0x801b,0x8027 },
	{ 0x4,0x801b,0x801b,0x800f,0x2050 },
	{ 0x0,0x800f,0x801a,0x2040,0x2040 },
	{ 0x4,0x8016,0x8016,0x8015,0x2041 },
	{ 0x0,0x8016,0x2040,0x8016,0x8027 },
	{ 0x4,0x8016,0x8016,0x800a,0x2050 },
	{ 0x0,0x800a,0x8015,0x2040,0x2040 },
	{ 0x4,0x801c,0x801c,0x801b,0x2041 },
	{ 0x0,0x801c,0x2040,0x801c,0x8027 },
	{ 0x4,0x801c,0x801c,0x8010,0x2050 },
	{ 0x0,0x8010,0x801b,0x2040,0x2040 },
	{ 0x4,0x8017,0x8017,0x8016,0x2041 },
	{ 0x0,0x8017,0x2040,0x8017,0x8027 },
	{ 0x4,0x8017,0x8017,0x800b,0x2050 },
	{ 0x0,0x800b,0x8016,0x2040,0x2040 },
	{ 0x4,0x801d,0x801d,0x801c,0x2041 },
	{ 0x0,0x801d,0x2040,0x801d,0x8027 },
	{ 0x4,0x801d,0x801d,0x8011,0x2050 },
	{ 0x0,0x8011,0x801c,0x2040,0x2040 },
	{ 0x0,0x8027,0x2040,0x8000,0x8002 },
	{ 0x0,0x8027,0x8027,0x8003,0x8017 }, /* write address 3 = offset 60 */
	{ 0x0,0x8028,0x2040,0x8001,0x8002 },
	{ 0x0,0x8028,0x8028,0x8003,0x801d }, /* write address 4 = offset 62 */
	{ 0x0,0x8029,0x204f,0x8005,0x204e },
	{ 0x0,0x8000,0x2040,0x8027,0x8029 },
	{ 0x0,0x8000,0x8000,0x8028,0x8005 },
	{ 0x0,0x8001,0x2040,0x8028,0x8029 },
	{ 0x0,0x8001,0x8001,0x8027,0x8005 },
	{ 0x0,0x8027,0x2040,0x8020,0x8021 },
	{ 0x4,0x8020,0x2040,0x8027,0x8026 },
	{ 0x4,0x8027,0x8020,0x801f,0x2050 },
	{ 0xf,0x2057,0x2057,0x2044,0x2041 },
	{ 0x0,0x8021,0x8023,0x2040,0x2040 },
	{ 0x4,0x8027,0x801e,0x8020,0x2050 },
	{ 0xf,0x2057,0x2057,0x2044,0x2041 },
	{ 0x0,0x8021,0x8022,0x2040,0x2040 },
};

#define DRYLEV_P	 	0x8002
#define WETLEV_P	 	0x8003
#define FEEDBACK_P	 	0x8004
#define XFEED_P	 	 	0x8005
#define SW_MIN_P 		0x801e
#define SW_MAX_P 		0x801f
#define SW_VAL_P 		0x8020
#define SW_FAC_P 		0x8021
#define SW_UP_P 		0x8022
#define SW_DOWN_P 		0x8023
#define STAGE2_LEFT_P 	0x8013
#define STAGE2_RIGHT_P 	0x8019
#define STAGE4_LEFT_P 	0x8015
#define STAGE4_RIGHT_P 	0x801b
#define STAGE6_LEFT_P 	0x8017
#define STAGE6_RIGHT_P 	0x801d
#define ADDR1			0x9
#define ADDR2			0xa
#define ADDR3			0x3c
#define ADDR4			0x3e